// 自己选择的路，跪着也要走完。朋友们，虽然这个世界日益浮躁起来,只
// 要能够为了当时纯粹的梦想和感动坚持努力下去，不管其它人怎么样,我
// 们也能够保持自己的本色走下去。                      ——AKPower
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <vector>
#include <map>
#include <queue>
#include <cstdio>
#include <string>
#include <stack>
#include <set>
#define IOS ios::sync_with_stdio(false), cin.tie(0)
using namespace std;
typedef long long ll;
string a,b,c;
ll ans[3];
bool ch(string s,ll id){
    ll num=0;
    ll len=s.length();
    for(ll i=0;i<len;i++){
        if(!(s[i]>='0'&&s[i]<='9'))return false;
        num=num*10+(s[i]-'0');
    }
    ans[id]=num;
    if(num<1||num>1000)return false;
    return  true;
}

int main()
{
    IOS;
    string s;
    getline(cin,s);
    ll len=s.length();
    bool flag=false;
    ll id;
    for(id=0;id<len;id++){
        if(s[id]==' ')break;
        a.push_back(s[id]);
    }
    id++;
    // while(id<len&&s[id]==' ')id++;
    for(;id<len;id++){
        // if(s[id]==' ')break;
        b.push_back(s[id]);
    }
    // cin>>a>>b;
    if(!ch(a,0)){
        ans[0]=-1;
    }
    if(!ch(b,1)){
        ans[1]=-1;
    }
    if(ans[0]==-1||ans[1]==-1){
        ans[2]=-1;
    }
    else ans[2]=ans[0]+ans[1];
    if(ans[0]==-1)cout<<'?'<<" + ";
    else cout<<ans[0]<<" + ";
    if(ans[1]==-1)cout<<"? = ";
    else cout<<ans[1]<<" = ";
    if(ans[2]==-1){
        cout<<'?'<<endl;
    }
    else cout<<ans[2]<<endl;
    getchar();
    getchar();
    return 0;
}
